package itheima;

import java.util.Random;

/**
   需求：开发5位随机的验证码（大写、小写、数字）
 */
public class Test5 {
    public static void main(String[] args) {
        String code = createCode(5);
        System.out.println("验证码：" + code);
        System.out.println("---------------------");
        String code1 = createCode(6);
        System.out.println("验证码：" + code1);
    }

    public static String createCode(int n){
        // 1、定义一个字符串变量用于连接随机生成的5个字符
        String code = "";

        // 2、定义一个for循环，循环5次，依次生成一个随机的字符
        Random r = new Random();
        for (int i = 0; i < n; i++) {
            // 3、随机一个字符出来啊：可能是大写 0、小写 1、数字 2
            // 得到一个随机的0 1 2 来决定本次是生成哪种类型的字符
            int number = r.nextInt(3);// 0 1 2
            switch (number){
                case 0:
                    // 随机生成一个大写的字符  A-Z    65 - 65 + 25  ===>  (0 - 25) + 65
                    char ch = (char) (r.nextInt(26) + 65);
                    code += ch; // code = code + ch
                    break;
                case 1:
                    // 随机生成一个小写的字符  a-z  97 - 97 + 25 ===>  (0 - 25) + 97
                    char ch1 = (char) (r.nextInt(26) + 97);
                    code += ch1; // code = code + ch
                    break;
                case 2:
                    // 随机生成一个数字
                    code += r.nextInt(10); // code = code + ch
                    break;
            }
        }

        return code;
    }
}
